package com.mdc.mansion.core.modules.order.impl;
import java.util.List;
import java.util.Map;

import com.mdc.mansion.dataaccess.modules.order.mo.RestaurantOderItemUnionMo;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;

import com.mdc.mansion.core.modules.order.RestaurantOrderItemService;
import com.mdc.mansion.dataaccess.common.service.CrudService;
import com.mdc.mansion.dataaccess.modules.order.dao.RestaurantOrderItemDao;
import com.mdc.mansion.dataaccess.modules.order.entity.RestaurantOrderItem;
import com.mdc.mansion.dataaccess.modules.order.mo.RestaurantOrderItemMO;

/**
 * 餐厅订单明细信息ServiceImpl
 * @author mingdongc
 * @version 2018-01-01
 */
@Service
public class RestaurantOrderItemServiceImpl extends CrudService<RestaurantOrderItemDao, RestaurantOrderItem> implements RestaurantOrderItemService {

    @Override
    public List<RestaurantOrderItemMO> getNotCheckOutOrderItems(RestaurantOrderItemMO restaurantOrderItemMO) {
        return this.dao.getNotCheckOutOrderItems(restaurantOrderItemMO);
    }

    @Transactional
    @Override
    public void updateByParam(RestaurantOrderItemMO restaurantOrderItemMO) {
       this.dao.updateByParam(restaurantOrderItemMO);
    }
    
    @Override
    public List<RestaurantOrderItem> findCanCalculateList(RestaurantOrderItem restaurantOrderItem) {
        return this.dao.findCanCalculateList(restaurantOrderItem);
    }

    @Override
    public List<RestaurantOrderItemMO> getNotWaiterSureOrderItems(RestaurantOrderItemMO restaurantOrderItemMO) {
        return this.dao.getNotWaiterSureOrderItems(restaurantOrderItemMO);
    }

    @Override
    public int countNotFinalByDishesId(String restaurantDishesId) {
        return this.dao.countNotFinalByDishesId(restaurantDishesId);
    }

	@Override
	public List<RestaurantOrderItemMO> findKitchenDishesListByStatus(Map<String, String> paraMap) {
		return this.dao.findKitchenDishesListByStatus(paraMap);
	}

	@Override
	public List<RestaurantOrderItem> mergeOrderInfo(RestaurantOrderItem restaurantOrderItem) {
		return this.dao.mergeOrderInfo(restaurantOrderItem);
	}

	@Override
	public List<RestaurantOrderItemMO> getMergeDishes(Map<String, Object> paraMap) {
		return this.dao.getMergeDishes(paraMap);
	}

	@Override
	public List<String> getItemListForMerge(Map<String, Object> paraMap) {
		return this.dao.getItemListForMerge(paraMap);
	}

	@Override
	public List<RestaurantOderItemUnionMo> findKitchenDishesList(Map<String, String> paraMap) {
		return this.dao.findKitchenDishesList(paraMap);
	}

	@Override
	public List<String> findKitchenItemList(RestaurantOrderItem item) {
		return this.dao.findKitchenItemList(item);
	}
	
	@Override
	public List<RestaurantOderItemUnionMo> useItemGetCombo(String orderItemId) {
		return this.dao.useItemGetCombo(orderItemId);
	}
	
	@Override
	public void updateItemByDetail(RestaurantOrderItemMO restaurantOrderItemMO) {
		this.dao.updateItemByDetail(restaurantOrderItemMO);
	}
}
